#include "EnsTir.h"
#include <functional>
#include <algorithm>

EnsTir::EnsTir(): Tab()
{}

EnsTir::~EnsTir()
{
	this->vider();
}

//Fonctions
EnsTir& EnsTir::deplacement(double intervalle)
{
	std::for_each(Tab.begin(),Tab.end(),[intervalle](Tir* T){ T->deplacement(intervalle); });
	return *this;
}

EnsTir& EnsTir::ajouterTir(Tir* T)
{
	Tab.push_back(T);
	return *this;
}

EnsTir& EnsTir::supprimerTir(EnsTir::iterator it)
{
	delete *it;
	Tab.erase(it);
	return *this;
}

EnsTir& EnsTir::vider()
{
	std::for_each(Tab.begin(),Tab.end(),[](Tir *T){ delete T; });
	Tab.clear();
	return *this;
}